Analogical Reasoning for Reuse of Object-Oriented Specifications
نویسنده
چکیده
Software reuse means to use again software components built successfully for previous projects. To be successful, techniques for reuse should be incorporated into the development environment. This paper presents an approach where analogical reasoning is used to identify potentially reusable analysis models. A prototype implementation with focus on the repository and analogical reasoning mechanism is presented. All models in the repository are described in terms of their structure. Semantic similarity among models is found by identifying distance in a semantic net built on WordNet, an electronic, lexical database. During retrieval of potential analogies, information about structure and semantics of models is used. During mapping, genetic algorithms are used to optimize the mapping between two models based on their structure and semantics. Experiments are described in which analogies are identified from the models in the repository. The results reported show that this approach is viable.
منابع مشابه
Reasoning About Inheritance and Unrestricted Reuse in Object-Oriented Concurrent Systems
Code reuse is a fundamental aspect of object-oriented programs, and in particular, the mechanisms of inheritance and late binding provide great flexibility in code reuse, without semantical limitations other than typecorrectness. However, modular reasoning about late binding and inheritance is challenging, and formal reasoning approaches place semantical restrictions on code reuse in order to p...
متن کاملCognitive Processes in Object-Oriented Requirements Engineering Practice: Analogical Reasoning and Mental Modelling
This chapter presents a background in cognitive processes such as problem-solving and analogical reasoning for considering modelling from an object-oriented perspective within the domain of requirements engineering. This chapter then describes a research project and the findings from a set of four cases which examine professional practice from perspective of cognitive modelling for object-orien...
متن کاملDelegation vs Inheritance for Typestate Analysis
For several decades, inheritance and delegation have been widely adopted for code reuse in object-oriented languages. Though extensive research has explored the expressiveness of these techniques, little is known about how the choice between them affects formal reasoning. In this paper, we explore this question by describing two core languages that are identical except for the use of inheritanc...
متن کاملVerifiable Programming of Object-Oriented and Distributed Systems
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of their concurrency, communication, and synchronization mechanisms. This paper explores a programming paradigm based on active, concurrent objects communicating by so-called asynchronous method calls giving rise to efficient interaction by means of non-blocking method calls, implemented by means o...
متن کاملUsing Analogical Reasoning to Promote Creativity in Software Reuse
Complexity in software design is increasing rapidly, forcing development teams to be more efficient and more ingenious in their solutions. One of the fields that has been evolving is Software Reuse, which consists on using previous development knowledge in new projects. Due to the cognitive complexity, reusing software is a difficult task, especially when one spends more time in understanding a...
متن کامل